Semiconductor memory devices or solid-state drives (SSD), typically utilize memory cells to store data as an electrical value, such as an electrical charge or voltage. A memory cell, for example, includes a single transistor with a floating gate that may be used to store a charge representative of a data value. The memory may be non-volatile memory where the memory may retain stored information even without power, as opposed to volatile memory, which requires power to maintain the stored information. The memory may be electrically erased and reprogrammed using a controller and peripheral circuitry associated with the memory. In some instances, the peripheral circuitry may contain a defect that causes successive or back-to-back programming errors (as explained herein) for certain portions of memory when being written to. Thus, there is a need for an efficient semiconductor device and controller thereof that optimizes use of all blocks in the memory to avoid back to back program failure.